package com.ruoyi.business.alarm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 门报警日志对象 business_door_alarm_log
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class DoorAlarmLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报警ID */
    private Long alarmId;

    /** 槽号 */
    private Integer slotNumber;

    /** 工区名称 */
    private String areaName;

    /** 厂房名称 */
    private String factoryName;

    /** 段名称 */
    private String sectionName;

    /** 报警类型（1=电源箱门开，2=槽控机门开） */
    private String alarmType;

    //再加一个字段：报警描述，如果报警类型为1，则报警描述为：电源箱门开；如果报警类型为2，则报警描述为：槽控机门开；
    private String alarmDescription;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 持续时间（秒） */
    private Long duration;

    /** 状态（0=已结束，1=进行中） */
    private String status;

    public void setAlarmId(Long alarmId) 
    {
        this.alarmId = alarmId;
    }

    public Long getAlarmId() 
    {
        return alarmId;
    }
    public void setSlotNumber(Integer slotNumber) 
    {
        this.slotNumber = slotNumber;
    }

    public Integer getSlotNumber() 
    {
        return slotNumber;
    }
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }
    public void setFactoryName(String factoryName) 
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName() 
    {
        return factoryName;
    }
    public void setSectionName(String sectionName) 
    {
        this.sectionName = sectionName;
    }

    public String getSectionName() 
    {
        return sectionName;
    }
    public void setAlarmType(String alarmType) 
    {
        this.alarmType = alarmType;
    }

    public String getAlarmType() 
    {
        return alarmType;
    }
    public void setAlarmDescription(String alarmDescription) 
    {
        this.alarmDescription = alarmDescription;
    }

    public String getAlarmDescription() 
    {
        return alarmDescription;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setDuration(Long duration) 
    {
        this.duration = duration;
    }

    public Long getDuration() 
    {
        return duration;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("alarmId", getAlarmId())
            .append("slotNumber", getSlotNumber())
            .append("areaName", getAreaName())
            .append("factoryName", getFactoryName())
            .append("sectionName", getSectionName())
            .append("alarmType", getAlarmType())
            .append("alarmDescription", getAlarmDescription())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("duration", getDuration())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}

